feat: hole-punch nim-v2.2 peer#78
Conversation
|
Oops, was working locally 🤔 |
|
I made the workflow pass on my fork on a default github runner (with little changes to not use Which suggests that the issue might be with the connectivity of the cc: @richard-ramos |
|
Excellent contribution by @rlve on this PR. Adding nim-v1.15 support to the hole-punch interoperability test suite as both dialer and listener is an important step toward improving cross-implementation compatibility and strengthening NAT traversal testing across the libp2p ecosystem. It is great to see continued work expanding interoperability coverage for the Nim implementation. I also appreciate the persistence shown here in debugging the workflow issues, validating the setup independently on a fork, and identifying that the remaining failures may be related to self-hosted runner connectivity rather than the implementation itself. That kind of investigation adds a lot of confidence to the contribution and helps narrow down where the actual bottleneck exists. This is clearly an important PR for improving hole-punch interoperability coverage, and the work put into iterating through multiple fixes and validating behavior is highly appreciated. Since Hole Punch Interoperability Tests (PR) / run-tests is still failing, tagging @luca and @Sumanjeet here as well, could you both please help investigate the remaining CI/CD or runner-related issues and work toward resolving them at the earliest so we can move this forward for merge. Great work overall, @rlve, this is a meaningful contribution toward improving libp2p interoperability and hole-punch testing reliability across implementations. CCing @johannamoran |
Relay Connectivity Failure - RCA and Verified FixFailing Tests & Configurations
Error Status:
Root Cause AnalysisThe failures occurred before relay reservation or hole-punching could begin. The relay was sending TCP SYN-ACK responses correctly, but the NAT routers (dialer-router and listener-router) were dropping them. Due to Docker veth checksum offloading, conntrack marked incoming SYN-ACK packets as INVALID, preventing reverse NAT translation. As a result:
Resolution
VerificationThe fixes were verified locally. |
|
@acul71 , @sumanjeet0012 : Lets discuss with @richard-ramos and @rlve and arrive at a good conclusion on the issue. This is an important PR indeed. |
|
@seetadev @acul71 @sumanjeet0012 @richard-ramos I have updated nim version to the latest master. I wanted to see if it's gonna work in CI, but the workflow is hanging every time and won't finish. Locally it's working for me: |
seetadev
left a comment
There was a problem hiding this comment.
@acul71 , @sumanjeet0012 : Please help arrive at a good conclusion on the issue. Looks like an issue on the configuration front.
Works locally with all tests passing.
Add
nim-v1.15to hole-punch interop tests asdialer/listener.